package com.spring.boot.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.spring.boot.entity.Contract;
import com.spring.boot.vo.ContractParametersVO;
import com.spring.boot.vo.FindContractList;

import java.util.Map;

/**
 * @Author: Daniel ZTQ
 * @Date: 2021/01/01 22:59
 * @Description: TODO 合同信息业务逻辑接口层
 */
public interface ContractService extends IService<Contract> {

    /**
     * @description: 新增合同
     * @param contract 合同对象
     * @return map
     */
    Map<String, Object> addContract(Contract contract);

    /**
     * @description: 删除合同(批量)
     * @param contractId 合同id
     * @return map
     */
//    Map<String, Object> deleteBatchIdsContract(String contractId);

    /**
     * @description: 修改合同
     * @param contract 合同对象
     * @return map
     */
//    Map<String, Object> updateContract(Contract contract);

    /**
     * @description: 筛选查询合同
     *      * @param contract 和特对象
     *      * @return map
     */
    //Map<String, Object> findContractList(QueryRequest queryRequest, Contract contract);

    /**
     * @description: 根据合同uuid查询合同
     *      * @param contractId 合同uuid
     *      * @return map
     */
//    Map<String, Object> findContractByUuid(String contractUuid);

    /**
     * @description: 查询合同详情
     *      * @param contract 合同对象
     *      * @return map
     */
    Map<String, Object> findContractDetails(String contractUuid);

    /**
     * @description: 财务确认收款接口
     *      * @param contractUuid 合同uuid
     *      * @return map
     */
    Map<String, Object> updateContractType(String contractUuid);

    /**
     * @description: 查询合同详情
     *      * @param contract 合同对象
     *      * @return map
     */
    Map<String, Object> findContractList(FindContractList findContractList);

    /**
     * @description: 同步过期合同和保单
     *      * @param date 日期
     *      * @return map
     */
    void synchronizationExpiration();
}
